<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
    <head>
        <th:block th:include="include :: header('动态增删改查')"/>
    </head>
    <body class="gray-bg">
        <div class="container-div">
            <div class="btn-group-sm" id="toolbar" role="group">
                <a class="btn btn-success" onclick="insertRow()">
                    <i class="fa fa-plus"></i> 新增行
                </a>
                <a class="btn btn-danger multiple disabled" onclick="removeRow()">
                    <i class="fa fa-remove"></i> 删除选择行
                </a>
                <a class="btn btn-danger" onclick="removeRowByUniqueId()">
                    <i class="fa fa-remove"></i> 根据值删除行
                </a>
                <a class="btn btn-danger" onclick="removeRowAll()">
                    <i class="fa fa-remove"></i> 删除所有行
                </a>
                <a class="btn btn-info" onclick="updateRow()">
                    <i class="fa fa-edit"></i> 修改行
                </a>
                <a class="btn btn-info" onclick="updateRowByUniqueId()">
                    <i class="fa fa-edit"></i> 根据值修改行
                </a>
                <a class="btn btn-info" onclick="getSelections()">
                    <i class="fa fa-search"></i> 查询选择数据
                </a>
                <a class="btn btn-info" onclick="getRowByUniqueId()">
                    <i class="fa fa-search"></i> 根据值查询行
                </a>
                <a class="btn btn-primary" onclick="getData()">
                    <i class="fa fa-search"></i> 查询所有数据
                </a>
            </div>
            <div class="row">
                <div class="col-sm-12 select-table table-striped">
                    <table id="bootstrap-table"></table>
                </div>
            </div>
        </div>
        <div th:include="include :: footer"></div>
        <script th:inline="javascript">
            var prefix = ctx + "demo/table";

            $(function () {
                var options = {
                    url: prefix + "/list",
                    showSearch: false,
                    showRefresh: false,
                    showToggle: false,
                    showColumns: false,
                    pagination: false,
                    uniqueId: "userId",
                    height: 400,
                    columns: [{
                        checkbox: true
                    },
                        {
                            field: 'userId',
                            title: '用户ID'
                        },
                        {
                            field: 'userCode',
                            title: '用户编号'
                        },
                        {
                            field: 'userName',
                            title: '用户姓名'
                        },
                        {
                            field: 'userPhone',
                            title: '用户手机'
                        },
                        {
                            field: 'userEmail',
                            title: '用户邮箱'
                        },
                        {
                            field: 'userBalance',
                            title: '用户余额'
                        }]
                };
                $.table.init(options);
            });

            /* 新增表格行 */
            function insertRow() {
                var randomId = 100 + ~~(Math.random() * 100)
                $("#" + table.options.id).bootstrapTable('insertRow', {
                    index: 0, // 你想插入到哪，0表示第一行
                    row: {
                        userId: randomId,
                        userCode: 2000000 + randomId,
                        userName: '测试' + randomId,
                        userPhone: '1588888888',
                        userEmail: 'ry1@qq.com',
                        userBalance: 10 + randomId,
                    }
                })
            }

            /* 删除指定表格行 */
            function removeRow() {
                var ids = $.table.selectColumns("userId");
                if (ids.length == 0) {
                    $.modal.alertWarning("请至少选择一条记录");
                    return;
                }
                $("#" + table.options.id).bootstrapTable('remove', {
                    field: 'userId',
                    values: ids
                })
            }

            /* 删除行ID值为1的数据 */
            function removeRowByUniqueId() {
                $("#" + table.options.id).bootstrapTable('removeByUniqueId', 1)
            }

            /* 删除所有表格行 */
            function removeRowAll() {
                $("#" + table.options.id).bootstrapTable('removeAll')
            }

            /* 修改表格行 */
            function updateRow() {
                var randomId = 100 + ~~(Math.random() * 100)
                $("#" + table.options.id).bootstrapTable('updateRow', {
                    index: 0, // 你想修改哪行，0表示第一行
                    row: {
                        userId: randomId,
                        userCode: 3000000 + randomId,
                        userName: '测试' + randomId,
                        userPhone: '1599999999',
                        userEmail: 'ry2@qq.com',
                        userBalance: 50 + randomId,
                    }
                })
            }

            /* 修改行ID值为1的数据 */
            function updateRowByUniqueId() {
                var randomId = 100 + ~~(Math.random() * 100)
                $("#" + table.options.id).bootstrapTable('updateByUniqueId', {
                    id: 1,
                    row: {
                        userId: randomId,
                        userCode: 3000000 + randomId,
                        userName: '测试' + randomId,
                        userPhone: '1599999999',
                        userEmail: 'ry2@qq.com',
                        userBalance: 50 + randomId,
                    }
                })
            }

            /* 查询表格所有数据值 */
            function getData() {
                var data = $("#" + table.options.id).bootstrapTable('getData');
                alert(JSON.stringify(data))
            }

            /* 查询行ID值为1的数据 */
            function getRowByUniqueId() {
                var data = $("#" + table.options.id).bootstrapTable('getRowByUniqueId', 1);
                alert(JSON.stringify(data))
            }

            /* 查询表格选择行数据值 */
            function getSelections() {
                var data = $("#" + table.options.id).bootstrapTable('getSelections');
                alert(JSON.stringify(data))
            }
        </script>
    </body>
</html>